<#include '/share.include'>

package ${basepackage}.service;

import ${basepackage}.db.domain.PageInfo;
import ${basepackage}.db.domain.PageControl;

import ${basepackage}.bean.admin.${className};

        import java.util.List;
/**
 * ${table.remarks}
 * @author ${author}
 * @date ${.now?datetime}
 */
public interface ${className}Service {

    /**
     * 根据实体${className}，新增${table.remarks} 信息
     * 返回影响行数
     */
    Integer insert${className}(${className} ${classNameLow});
    /**
     * 根据实体${className}，更新${table.remarks} 信息，用主键更新
     * 返回影响行数
     */
    Integer update${className}(${className} ${classNameLow});
    /**
     * 分页查询
     */
    PageControl<${className}> page(${className} ${classNameLow}, PageInfo pageInfo, String whereSql, String orderSql);
    /**
     * 根据主键id，查询一个实体${className}
     * 返回实体${className}
     */
    ${className} find(Integer id);
    /**
     * 根据主键id，逻辑删除数据
     * 返回影响行数
     */
    Integer delete(Integer id);

<#list columns as column>
<#if column.columnNameFirstLower='youxbz'>
        /**
         * 作废恢复，有作废标志对有用
         */
        Integer zouf(Integer id,${column.possibleShortJavaType} bz);

        /**
         * 获取所有有效的类型
         * @return
         */
        List<${className}>  getAllByYouxbz();
</#if>
</#list>
}
